
/* eslint-disable no-shadow */

/**
 * 获取城市下的区域数量
 * @param {object} search   查询参数
 * @returns 区域数量
 */
export function count({ search }) {
  return RSocket.rr({
    route: 'stations.other.count',
    args: { search },
  });
}

/**
 * 获取城市下的区域列表
 * @param {string} cityId 城市Id
 * @param {object} args   查询和分页参数
 * @returns 区域列表
 */
export function search({ search, pg }) {
  return RSocket.rs({
    route: 'stations.other',
    args: {
      search,
      pg,
    },
  });
}

/**
 * 更新站点
 * @param {*} id
 * @returns
 */
export function update(data) {
  return RSocket.rr({
    route: 'stations.other.update',
    data: {
      ...data,
    },
  });
}

/**
 * 删除站点
 * @param {*} id
 * @returns
 */
export function remove(id) {
  return RSocket.rr({
    route: `stations.other.${id}.delete`,
  });
}

/**
 * 获取公司
 * @param {*} id
 * @returns
 */
export function getCompany({ search, pg }) {
  return RSocket.rs({
    route: 'companys',
    args: {
      search,
      pg,
    },
  });
}

/**
 * 获取字典顶部节点
 * @param {*} id
 * @returns
 */
export function getDictsItemTop(dictId) {
  return RSocket.rs({
    route: `dicts.${dictId}.items.top`,
  });
}

/**
 * 通过第三方站点id查询指定站点
 * @param {*} id
 * @returns
 */
export function getStationThird(id) {
  return RSocket.rs({
    route: `stations.${id}.third`,
  });
}

export function create(channel) {
  return RSocket.rr({
    route: 'stations.create',
    data: channel,
  });
}

/**
 * 同步更新所有第三方站点信息
 * @param {*} id
 * @returns
 */
export function updateAllStation(channel) {
  return RSocket.rr({
    route: 'services.synchronous.update.all.station',
    data: channel,
  });
}
